package com.droidathletics.entity;

import java.util.ArrayList;

public class Microcycle{
	
    public Microcycle(String macrocycleName, int numberOfWeek, String period, String stage,
			String microCycleType, String objective, int numberOfHoursPerWeek) {
		this.numberOfWeek = numberOfWeek;
		this.period = period;
		this.stage = stage;
		this.microCycleType = microCycleType;
		this.objective = objective;
		this.numberOfHoursPerWeek = numberOfHoursPerWeek;
		
		this.trainings = initializeTrainings(this.trainings);
	}
    
    public Microcycle(String macrocycleName, int numberOfWeek, String period, String stage,
			String microCycleType, String objective, int numberOfHoursPerWeek, ArrayList<TypeTraining> trainings) {
		this.numberOfWeek = numberOfWeek;
		this.period = period;
		this.stage = stage;
		this.microCycleType = microCycleType;
		this.objective = objective;
		this.numberOfHoursPerWeek = numberOfHoursPerWeek;
		this.trainings = trainings;
	}

	public void addTraining(TypeTraining training, int id) {
    	trainings.add(id, training);
    }

	public int getNumberOfWeek() {
		return numberOfWeek;
	}
	public void setNumberOfWeek(int numberOfWeek) {
		this.numberOfWeek = numberOfWeek;
	}
	public String getMicroCycleType() {
		return microCycleType;
	}
	public void setMicroCycleType(String microCycleType) {
		this.microCycleType = microCycleType;
	}
	public String getObjective() {
		return objective;
	}
	public void setObjective(String objective) {
		this.objective = objective;
	}
	public int getNumberOfHoursPerWeek() {
		return numberOfHoursPerWeek;
	}
	public void setNumberOfHoursPerWeek(int numberOfHoursPerWeek) {
		this.numberOfHoursPerWeek = numberOfHoursPerWeek;
	}
	public ArrayList<TypeTraining> getTrainings() {
		return trainings;
	}
	public void setTrainings(ArrayList<TypeTraining> trainings) {
		this.trainings = trainings;
	}
	
	public String getPeriod() {
		return period;
	}

	public void setPeriod(String period) {
		this.period = period;
	}

	public String getStage() {
		return stage;
	}

	public void setStage(String stage) {
		this.stage = stage;
	}

	public String getComments() {
		return comments;
	}

	public void setComments(String comments) {
		this.comments = comments;
	}
	
	public String getMacrocycleName() {
		return macrocycleName;
	}

	public void setMacrocycleName(String macrocycleName) {
		this.macrocycleName = macrocycleName;
	}
	
	static public ArrayList<TypeTraining> initializeTrainings(ArrayList<TypeTraining> trainings)
	{
	   trainings = new ArrayList<TypeTraining>();
	   trainings.add( new TypeTraining("ANALAC-VELOCIDAD"));
	   trainings.add( new TypeTraining("ANLAC-RESIST-VELOC"));
	   trainings.add( new TypeTraining("ANA-AEROBIO-MIXTO"));
	   trainings.add( new TypeTraining("AEROBICO"));
	   trainings.add( new TypeTraining("FUERZA MAXIMA"));
	   trainings.add( new TypeTraining("FUERZA RAPIDA"));
	   trainings.add( new TypeTraining("FUERZA RESISTENCIA"));
	   trainings.add( new TypeTraining("FLEXIBILIDAD"));
	   trainings.add( new TypeTraining("CAP.COORDINATIVAS"));
	   trainings.add( new TypeTraining("TECNICA"));
	   trainings.add( new TypeTraining("TECNICA-TACTICA"));
	   trainings.add( new TypeTraining("P.PSICOLOGICA"));
	   trainings.add( new TypeTraining("P.BIOLOGICA"));
	   trainings.add( new TypeTraining("P. TEORICA"));
	   trainings.add( new TypeTraining("COMPETENCIAS"));
	   trainings.add( new TypeTraining("CONTROLES"));
	   
	   return trainings;
	}

	private String macrocycleName;
	private int numberOfWeek;
	private String period;
	private String stage;
	private String microCycleType;
	private String objective;
	private int numberOfHoursPerWeek;
	private ArrayList<TypeTraining> trainings;
	private String comments;
}
